package main

import (
	"fmt"
	"unicode"
)

// 字符串类型
var name = "zengyujie" //定义全局变量
func main() {
	var age = 18
	var name = "lisi"                //局部变量
	fmt.Printf("%d,%s\n", age, name) //在函数里局部变量优先级大于全局变量
	test()

	//单引号
	v1 := 'A'
	//双引号
	v2 := "A"

	//编码表 ASCLL字符码
	//所有的中国字的编码表 GBK
	//全世界的编码表 Unicode编码表

	fmt.Printf("%T,%d,%c\n", v1, v1, v1) //用%d打印的是ASCLL表上对应的值
	fmt.Printf("%T,%s\n", v2, v2)
	//字符串连接
	fmt.Println("Hello" + "你好" + name)

	//转义字符 \n：换行符  \r：回车符 \t：tab 键  \u 或 \U：Unicode 字符 \\：反斜杠自身
	fmt.Println("Hello\"zengyujie\"")

	//unicode常用方法
	ch := 'A'
	println(unicode.IsLetter(ch)) //判断是否为字母
	println(unicode.IsNumber(ch)) //判断是否为数组
	println(unicode.IsSpace(ch))  //判断是否为空白符号

	//len() 来获取字符串所占的字节长度
	println(len(name))
	//字符串的内容（纯字节）可以通过标准索引法来获取，在中括号 [] 内写入索引，索引从 0 开始计数
	fmt.Printf("%c,%c,%c,%c", name[0], name[1], name[2], name[3])

	//字符串拼接符 +
	var name2 = "zhangsan"
	name3 := name + name2 + "hahaha"
	fmt.Println(name3)

}

func test() {
	fmt.Printf("%s\n", name)
}
